package com.eclink.asset.asset.domain.dao;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.eclink.asset.domain.dao.CommonEntity;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 资产清单表对象 asset_item
 * 
 * @author chenshixian
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description="资产清单表对象")
@Data
@TableName("asset_item")
public class AssetItem extends CommonEntity {

    private final static long serialVersionUID = 1L;

    @ApiModelProperty("ID")
    private Integer id;

    @ApiModelProperty("资产编码")
    @Excel(name = "资产编码")
    private String number;

    @ApiModelProperty("资产名称")
    @Excel(name = "资产名称")
    private String name;

    @ApiModelProperty("资产分类ID")
    @Excel(name = "资产分类ID")
    private Integer categoryId;

    @ApiModelProperty("资产分类名称")
    @Excel(name = "资产分类名称")
    @TableField(exist = false)
    private String categoryName;

    @ApiModelProperty("RFID")
    @Excel(name = "RFID")
    private String rfid;

    @ApiModelProperty("品牌")
    @Excel(name = "品牌")
    private String brand;

    @ApiModelProperty("型号")
    @Excel(name = "型号")
    private String model;

    @ApiModelProperty("计量单位")
    @Excel(name = "计量单位")
    private String unit;

    @ApiModelProperty("购置方式")
    @Excel(name = "购置方式")
    private String buyWay;

    @ApiModelProperty("购置时间")
    @Excel(name = "购置时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate buyTime;

    @ApiModelProperty("购置金额")
    @Excel(name = "购置金额")
    private BigDecimal buyPrice;

    @ApiModelProperty("管理员ID")
    private Long adminId;

    @ApiModelProperty("管理员")
    private String adminName;

    private Long companyId;

    private String companyName;

    private Long deptId;

    private String deptName;

    @ApiModelProperty("仓库ID")
    private Long warehouseId;

    @TableField(exist = false)
    @ApiModelProperty("仓库名称")
    private String warehouseName;

    @ApiModelProperty("位置")
    private String location;

    @ApiModelProperty("使用人ID")
    private Long userId;

    @TableField(exist = false)
    @ApiModelProperty("使用人")
    private String userName;

    @ApiModelProperty("使用期限")
    private Integer serviceLife;

    @ApiModelProperty("图片地址")
    private String imgUrl;

    @ApiModelProperty("供应商")
    @Excel(name = "供应商")
    private String supplier;

    @ApiModelProperty("供应商联系人")
    @Excel(name = "供应商联系人")
    private String supplierContact;

    @ApiModelProperty("联系电话")
    @Excel(name = "联系电话")
    private String contactPhone;

    @ApiModelProperty("维修负责人ID")
    private Long maintenanceUserId;

    @Excel(name = "维修负责人")
    @ApiModelProperty("维修负责人")
    private String maintenanceUserName;

    @Excel(name = "保养到期时间")
    @ApiModelProperty("保养到期时间")
    private LocalDate deadlineTime;

    @Excel(name = "折旧期限（月）")
    @ApiModelProperty("折旧期限（月）")
    private Integer depreciation;

    @ApiModelProperty("保养说明")
    private String maintenanceDescription;

    private Integer state;

    private int delFlag;

}
